package com.matt.repository.base;

import com.matt.domain.nursery.NurserySchedule;
import com.matt.foundation.vo.nursery.NurseryClassesShortVo;
import com.matt.foundation.vo.nursery.NurseryClassesVo;
import com.matt.foundation.vo.nursery.NurseryScheduleV2Vo;
import com.matt.foundation.vo.nursery.NurseryScheduleVo;

import java.util.Date;
import java.util.List;

/**
 * *******************************
 * Created by lch.
 * form com.matt
 * on 2018/11/26
 * *******************************
 */
public interface NurseryScheduleNativeRepository {

    NurseryScheduleVo findById(String nurseryScheduleId);

    List<NurseryClassesShortVo> getNurseryClassesShortVo(Date beginDate,Date endDate,String areaId, Integer category, int delete);

    List<NurserySchedule> findScheduleBylessonDate(String beginDate, String endDate, String areaId);

    /**
     * 查询班级排课
     * @param beginDate
     * @param endDate
     * @param classId
     * @return
     */
    List<NurserySchedule> findScheduleClassIdByLessonDate(String beginDate, String endDate, String classId);


    List<NurserySchedule> findScheduleByChildrenIdAndLessonDate(String childrenId,String beginDate, String endDate);

    List<NurseryClassesVo> findByStaffId(String staffId);

    List<NurseryClassesVo> findByAreaIdAndStaffId(String areaId, String staffId);
    
    List<NurseryClassesVo> findByAreaId(String areaId);

    NurseryScheduleVo findByClassesIdAndLessonDate(String classesId, String date);

    NurseryScheduleVo findByTeacherIdAndChildrenIdAndLessonDate(String teacherId, String childrenId, String date);

    List<NurseryScheduleVo> findByClassesIdAndWeekTime(String classesId,  String weekStartDay,String weekEndDay);

    int findCountByClassesIdAndTime(String classesId, String beginDate, String endDate);

    List<Object[]> getAreaIdAndClassesName(String nurseryScheduleId);

    List<NurseryScheduleV2Vo> findByNurseryScheduleV2Vo(String areaId,String classesId,String teacherId,String childrenName);


}
